<?php
error_reporting(0);
class Sample {
    const API_KEY = "";
    const SECRET_KEY = "";

    public function run() {

        //获取文本和文件Url
        if(isset($_POST['text']) && isset($_POST['url'])){
            $text = $_POST['text'];
            $url = $_POST['url'];
        
        $curl = curl_init();
        curl_setopt_array($curl, array(
            CURLOPT_URL => "https://aip.baidubce.com/rpc/2.0/brain/creative/ttv/material?access_token={$this->getAccessToken()}",
            CURLOPT_TIMEOUT => 30,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_SSL_VERIFYPEER  => false,
            CURLOPT_SSL_VERIFYHOST  => false,
            CURLOPT_CUSTOMREQUEST => 'POST',
            
            CURLOPT_POSTFIELDS =>'{"source":{"structs":[{"type":"text","text":"'.$text.'"},{"type":"image","mediaSource":{"type":3,"url":"'.$url.'"}}]},"config":{"productType":"video","duration":-1,"resolution":[1280,720]}}',
    
            CURLOPT_HTTPHEADER => array(
                'Content-Type: application/json',
                'Accept: application/json'
            ),

        ));
        $response = curl_exec($curl);
        curl_close($curl);
        return $response;
        }
    }
    
    /**
     * 使用 AK，SK 生成鉴权签名（Access Token）
     * @return string 鉴权签名信息（Access Token）
     */
    private function getAccessToken(){
        $curl = curl_init();
        $postData = array(
            'grant_type' => 'client_credentials',
            'client_id' => self::API_KEY,
            'client_secret' => self::SECRET_KEY
        );
        curl_setopt_array($curl, array(
            CURLOPT_URL => 'https://aip.baidubce.com/oauth/2.0/token',
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_SSL_VERIFYPEER  => false,
            CURLOPT_SSL_VERIFYHOST  => false,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POSTFIELDS => http_build_query($postData)
        ));
        $response = curl_exec($curl);
        curl_close($curl);
        $rtn = json_decode($response);
        return $rtn->access_token;
    }
}

$rtn = (new Sample())->run();
//print_r($rtn);
if(isset($_POST['text']) && isset($_POST['url'])){
    $id = json_decode($rtn)->log_id;
    echo '<script>window.location.href = "video2.php?id='.$id.'";</script>';
}
?>
<html>
    <head>
        <title>
        视星（AI成片）
        </title>
        <meta charset="utf-8">
    </head>
    <body>
        <center><h1>视星（AI成片）</h1></center>
        <form action="video1.php" method="post" enctype="multipart/form-data">
        <center> 输入文本：<input type="text" name="text" value="">
            图片地址：<input type="text" name="url" value="">
            <input type="submit" value="生成视频"></center>
        </form>
    </body>
</html>